package sysapi

import (
	"context"
)

type Service interface {
	GetSysApiPage(ctx context.Context, cmd GetSysApiPageCommand) (data []SysApi, num int64, err error)
	GetSysApiList(ctx context.Context) (result []SysApi, err error)
	Get(ctx context.Context, cmd GetSysApiCommand) (SysApi, error)
	Insert(ctx context.Context, cmd SysApi) error
	BatchInsert(ctx context.Context, cmd []ApiCategory) (err error)
	Update(ctx context.Context, cmd SysApi) error
	Remove(ctx context.Context, cmd RemoveSysApiCommand) error

	GetSysApiCategoryTree(ctx context.Context, cmd GetApiCategoriesCommand) (result []*ApiCategory, err error)
	ExportSysApiCategory(ctx context.Context, cmd GetApiCategoriesCommand) (result []ApiCategory, err error)
	InsertApiCategory(ctx context.Context, cmd ApiCategory) error
	UpdateApiCategory(ctx context.Context, cmd ApiCategory) error
	RemoveApiCategory(ctx context.Context, cmd ApiCategory) error
}
